package com.syedu.day13;

import java.util.LinkedList;

/**
 * description：
 * java.util.LinkedList,它也是List接口的实现类,底层原理双向链表
 * 它的特点:有序,可重复,查询效率低,增删效率高!
 *
 * @author Administrator
 * @date 2022/3/28 13:44
 */
public class LinkedListDemo {
    public static void main(String[] args) {
        LinkedList<Integer> list = new LinkedList<>();
        /**
         * LinkedList实现了List接口和Deque(Double-Ended Queue,双向队列)接口,
         * 所以LinkedList除了和我们熟悉的ArrayList集合中的常用方法相同以外,还从
         * Deque中获取了很多其他的方法,比如addFirst(),addLast(),removeFirst(),removeLast()...
         * 而这些方法虽然有用,但是其实List接口中的方法本来就可以达到一样的效果,例如:
         * add(0,element) == addFirst()
         * remove(0) == removeFirst()
         *
         * 结论:
         * 使用集合时,有序可重复集合ArrayList/Vector+LinkedList基本完全够用,
         * 如果想要使用集合模拟一些特殊数据结构,例如:堆栈,队列等,那么可以考虑使用
         * 特定的类来简化操作Stack,java.util,LinkedBlockingDeque...
         */
    }
}